//
//  DYSMSCenter.h
//  singlePushDemo
//
//  Created by JM on 15/10/10.
//  Copyright © 2015年 JM. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "DYSMSPushProtocol.h"
/**
 *  相比较KVO来说 采用的是弱引用 更安全
 */
@interface DYSMSCenter : NSObject

#pragma mark - 维护接收者信息
/**
 *  创建消息类型
 *
 *  @param aSMSType 消息类型码
 */
+ (void)createSMSType:(NSString *)aSMSType;

/**
 *  移除消息类型
 *
 *  @param aSMSType 消息类型码
 */
+ (void)removeSMSType:(NSString *)aSMSType;

#pragma mark - 维护接收者信息
/**
 *  添加接收者到具体的消息类型当中
 *
 *  @param receiver           接收者
 *  @param aSMSType 消息类型码
 */
+ (void)addRecever:(id <DYSMSProtocol>)receiver withSMSType:(NSString *)aSMSType;

/**
 *  从具体的消息类型当中移除接收者
 *
 *  @param receiver           接收者
 *  @param aSMSType 消息类型码
 */
+ (void)removeReceiver:(id <DYSMSProtocol>)receiver withSMSType:(NSString *)aSMSType;

#pragma mark - 发送消息
/**
 *  发送消息到具体的消息类型当中
 *
 *  @param message            消息
 *  @param aSMSType 消息类型码
 */
+ (void)sendMessage:(id)message byType:(NSString *)aSMSType;

@end
